package com.dkm.orproject.dkmoa.service;

import com.dkm.orproject.dkmoa.domain.OaRegimeType;
import com.dkm.orproject.dkmoa.domain.OaSupplier;
import com.dkm.orproject.dkmoa.domain.OaSupplierType;
import com.dkm.orproject.utils.utils.ThreeVo;

import java.util.List;

/**
 *    供应商类型的service层
 *  @ClassName : OaSupplierTypeService层  //类名
 *  @Description : OaSupplierTypeAction的service层 //描述
 *  @Author : zmh //作者
 *  @Date: 2020-11-24 09:28  //时间
 */
public interface OaSupplierTypeService {
    /**
     * 根据Id删除该条供应商类型对象
     * @param pkSupplierTypeId
     * @return 删除的条数
     */
    int deleteByPrimaryKey(Long pkSupplierTypeId);

    /**
     * 插入一条供应商类型
     * @param oaSupplierType 供应商类型对象
     * @return 回调函数
     */
    int insertSelective(OaSupplierType oaSupplierType);

    /**
     * 根据pkSupplierTypeId查询供应商类型对象
     * @param pkSupplierTypeId
     * @return 供应商类型对象
     */
    OaSupplierType selectByPrimaryKey(Long pkSupplierTypeId);

    /**
     * 根据OaSupplierType的id值修改
     * @param oaSupplierType
     * @return 回调函数
     */
    int updateByPrimaryKeySelective(OaSupplierType oaSupplierType);

    /**
     * 供应商类型总条数
     * @param oaSupplierType 供应商类型对象
     * @param startTime 开始时间
     * @param endTime 结束时间
     * @return 回调函数
     */
    Long rowCount(OaSupplierType oaSupplierType,String startTime,String endTime);


    /**
     * 分页查询所有供应商类型信息
     * @param oaSupplierType
     * @param startTime 开始时间
     * @param endTime 结束时间
     * @param page 当前页数
     * @param limit 显示的行数
     * @return 所有规则制度类型对象的集合
     */
    List<OaSupplierType> selectAll(OaSupplierType oaSupplierType , String startTime, String endTime, Integer page, Integer limit);

    /**
     * 供应商类型批量删除
     * @param list list里存入id的集合
     * @return 回调函数
     */
    int deleteAll(List<Long> list);

    
    List<ThreeVo> loadOaSupplierType(Long oaSupplierTypeId,String show);
}
